<?php
// PC端 OA 工作总结
namespace Home\Controller;
use Think\Controller;
class WorkController extends CommonController {
    // 首页
    public function index(){
        $p = I('get.p');
        $p = empty($p) ? 1 : $p;
        
        $search_type = I('param.search_type'); // 搜索条件 销售经理才有  3种情况：全部的、自己的、下属的 
        $date_begin  = I('param.date_begin'); // 搜索条件 开始日期
        $date_end    = I('param.date_end');   // 搜索条件 结束日期        
        if( !empty($date_begin) ){
            $map['date'] = array('EGT',strtotime($date_begin));
        }
        if( !empty($date_end) ){
            $map['date'] = array('ELT',strtotime($date_end));
        }

        $oaLevel = session('USER_AUTH.oa_level');  // 用户基本信息 session
        if($oaLevel == 1){  // 普通销售员 OA权限
            $map['uid'] = session('USER_AUTH.userid');
        }else if($oaLevel == 2){  // 销售经理 OA权限
            switch ($search_type) {  // 查询情况：1、所有的(自己和下属)；2、自己；3、下属
                case 'my': $map['uid'] = session('USER_AUTH.userid'); break;
                case 'xiashu': 
                    $uids = M('user')->where(array('oa_level'=>1))->getField('user_id',true);
                    $map['uid'] = array('in',$uids);
            }
        }

        $count = M('work')->where($map)->count();
        if($count){
            if($count == ($p-1)*10){ $p--; } // 删除记录时，判断当前页是否还有数据
            $workList = M('work')->where($map)->page($p.',10')->order('date desc,id desc')->select();
            $Page = new \Think\Page($count,10);// 实例化分页类 传入总记录数和每页显示的记录数
            $pageStyle = C('PAGE_STYLE');  // 获取分页样式主题
            $Page ->setConfig('prev','上一页');
            $Page ->setConfig('next','下一页');
            $Page ->setConfig('theme',$pageStyle);
            $Page ->parameter['search_type'] = $search_type;  // 分页链接 传值 销售经理才有  查询情况
            $Page ->parameter['date_begin']  = $date_begin;   // 分页链接 传值 开始日期
            $Page ->parameter['date_end']    = $date_end;     // 分页链接 传值 结束日期
            $show = $Page->show();// 分页显示输出
        }else{
            $workList = array();
        }

        $this->assign('empty','<tr class="text-c odd" role="row"><td colspan="6">暂无数据</td></tr>');
        $this->assign('workList',$workList);
        $this->assign('page',$show);// 赋值分页输出
        $this->assign('search_type',$search_type);  // 赋值 搜索条件 销售经理才有  查询情况
        $this->assign('date_begin',$date_begin);    // 赋值 搜索条件 开始日期
        $this->assign('date_end',$date_end);        // 赋值 搜索条件 结束日期
        $this->assign('p',$p);
        $this->display();
    }

    // 详情页
    public function detail(){
    	$id = I('get.id');
        $map['id'] = $id;
    	$workArr = M('work')->where($map)->find();
        $this->assign('workArr',$workArr);
        //p($workArr);die;
    	$this->display();
    }

    // 删除（单个/批量）
    public function del(){
        $id = I('get.id');
        $p  = I('get.p');
        if($id){
            $map['id'] = array('in',$id);
            $rel = M('work')->where($map)->delete();
            $this->redirect('Work/index',array('p'=>$p));
        }
    }


    // 添加页
    public function add(){
        $this->display();
    }

    // 添加提交
    public function addCheck(){
        $map['uid'] = session('USER_AUTH.userid');
        $date = I('post.date');
        $map['date'] = strtotime($date); // 总结日期
        $arr = M('work')->where($map)->order('id desc')->find();
        if(!$arr){ // 判断当前日期总结是否添加过
            $map['time']    = time(); // 添加时间
            $map['content'] = I('post.content');
            $rel = M('work')->add($map); // 保存总结记录
            if($rel){ // 保存成功,则继续保存总结内容
                 $msg = array('state'=>200, 'content'=>'添加成功');
            }else{
                 $msg = array('state'=>500, 'content'=>'添加失败');
            }
        }else{
            $msg = array('state'=>500, 'content'=>'当前日期工作总结已添加');
        }
        $this->ajaxReturn($msg);
    }

    // 修改页
    public function edit(){
        $id = I('get.id');
        $map['id'] = $id;
        $workArr = M('work')->where($map)->find();
        $this->assign('workArr',$workArr);
        $this->display();
    }

    // 修改提交  
    public function editCheck(){
        $data['id']      = I('get.id');
        $data['content'] = I('post.content');
        $rel = M('work')->save($data);
        if($rel){
            $this->ajaxReturn(array('state'=>200, 'content'=>'修改成功'));
        }else{
            $this->ajaxReturn(array('state'=>500, 'content'=>'修改失败'));
        }
    }


}
